<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>

<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->

<head />
<body bgcolor="white">
Provides an HBase <a href="http://avro.apache.org">Avro</a> service.

This directory contains an Avro interface definition file for an HBase RPC
service and a Java server implementation.

<h2><a name="whatisavro">What is Avro?</a></h2> 

<p>Avro is a data serialization and RPC system. For more, see the
<a href="http://avro.apache.org/docs/current/spec.html">current specification</a>.
</p>

<h2><a name="description">Description</a></h2>

<p>The <a href="generated/HBase.html">HBase API</a> is defined in the
file hbase.genavro.  A server-side implementation of the API is in
<code>org.apache.hadoop.hbase.avro.AvroServer</code>.  The generated interfaces,
types, and RPC utility files are checked into SVN under the
<code>org.apache.hadoop.hbase.avro.generated</code> directory.

</p>

<p>The files were generated by running the commands:
<pre>
  java -jar avro-tools-1.4.1.jar idl hbase.avdl hbase.avpr
  java -jar avro-tools-1.4.1.jar compile protocol hbase.avpr $HBASE_HOME/src/main/java
</pre>
</p>

<p>The 'avro-tools-x.y.z.jar' jarfile is an Avro utility, and it is 
distributed as a part of the Avro package.  Additionally, specific 
language runtime libraries are apart of the Avro package.  A version of the 
Java runtime is listed as a dendency in Maven.
</p>

<p>To start AvroServer, use:
<pre>
  ./bin/hbase avro start [--port=PORT]
</pre>
The default port is 9090.
</p>

<p>To stop, use:
<pre>
  ./bin/hbase-daemon.sh stop avro
</pre>
</p>
</body>
</html>
